Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrading to use aws sdk 1.9.291 #3353

Closed
wants to merge 9 commits into from
Closed

Conversation

dhoke4tdb
Copy link
Contributor

Upgrading to use aws sdk 1.9.291, builds locally win/nix, may be building more than necessary, checkpoint how does it do with CI


TYPE: IMPROVEMENT
DESC: Upgrading to use aws sdk 1.9.291

@shortcut-integration
Copy link

This pull request has been linked to Shortcut Story #18651: Update AWS SDK.

@dhoke4tdb dhoke4tdb force-pushed the dlh/sc-18651-upg-aws-sdk branch from 7e3af32 to 31c17bc Compare July 15, 2022 20:00
@dhoke4tdb dhoke4tdb marked this pull request as ready for review July 18, 2022 18:29
@dhoke4tdb dhoke4tdb requested review from Shelnutt2 and ihnorton July 18, 2022 18:29
Copy link
Member

@ihnorton ihnorton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments inline... Something seems wrong here with the number of explicit targets needed -- are those not being set by the SDK when we target S3? Or are we doing something wrong when creating our "shadow" targets such that the transitive requirements are not pulled in?

URL_HASH SHA1=e32a53a01c75ca7fdfe9feed9c5bbcedd98708e3
GIT_REPOSITORY "https://github.com/aws/aws-sdk-cpp"
GIT_TAG 1.9.291
GIT_SUBMODULES_RECURSE ON #TBD: Seems 'ON' may be default, is this needed? Is this correct?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Yes, needed - this does git clone --recurse-submodules ... which they specify as required in the docs, b/c some of the dependencies are now submodules and won't be populated w/out this option.

aws-checksums
aws-c-sdkutils
aws-crt-cpp
#xAWSSDK::aws-c-s3
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove cruft?

aws-cpp-sdk-s3
aws-cpp-sdk-core
aws-crt-cpp
#AWSSDK::aws-c-auth
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove cruft, if not necessary?

thread_options.join_strategy = AWS_TJS_MANAGED;

+ /*
+ * tiledb encountered issue similar to https://github.com/huggingface/datasets/issues/3310#issuecomment-1155285967.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The underlying issue is here: https://github.com/aws/aws-sdk-cpp/issues/1809
Please link that too, and add a short summary so that we have some context to start from even if the linked comment disappears.

+ * tiledb encountered issue similar to https://github.com/huggingface/datasets/issues/3310#issuecomment-1155285967.
+ */
+#if 1
+ aws_thread_launch(&cleanup_thread, s_event_loop_destroy_async_thread_fn, el_group, &thread_options);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you are able to easily reproduce the issue mentioned above, could you please check GetLastError here and dump it out. That might be useful to pushing AWS on the issue...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also a stack trace - I believe the problem is that they are trying to launch a thread after process exit has started, which fails (even on POSIX). See

@dhoke4tdb
Copy link
Contributor Author

Some comments inline... Something seems wrong here with the number of explicit targets needed -- are those not being set by the SDK when we target S3? Or are we doing something wrong when creating our "shadow" targets such that the transitive requirements are not pulled in?

With previous version of sdk we used, findaws module was using

AWSSDK_DETERMINE_LIBS_TO_LINK(AWS_SERVICES AWS_LINKED_LIBS)

and adding (five) additional libs.

When I tried to use that alone (which I would think is its purpose), it did not seem to provide all needed dependencies, and the ones it did provide did not seem to be in correct order for linkage (even though comments I saw somewhere suggested that was a benefit of using it.) Trying to use it similarly to prev version ('adding' to result), IIRC I was hitting linkage (ordering) issues.

So, what is here now is the first form I arrived at that supported successful build.

I'll explore a bit more again to try to see what I can alter/eliminate,
having been away from it a bit may enable fresher perspective.

@dhoke4tdb dhoke4tdb requested a review from ihnorton August 3, 2022 19:05
@ihnorton ihnorton closed this Jun 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants